package cn.iocoder.yudao.framework.security.config;

/**
 * 用户上下文工具类，用于在当前线程中存储用户信息
 */
public class UserContext {

    /**
     * 使用 ThreadLocal 存储当前线程的用户ID
     */
    private static final ThreadLocal<Long> currentUser = new ThreadLocal<>();

    /**
     * 设置当前用户ID
     */
    public static void setUserId(Long userId) {
        currentUser.set(userId);
    }

    /**
     * 获取当前用户ID
     */
    public static Long getUserId() {
        return currentUser.get();
    }

    /**
     * 清除当前用户ID
     */
    public static void clear() {
        currentUser.remove();
    }
}
